package java;

public class Question38 {
    public static void main(String[] args) {

    }
    public static String countAndSay(int n) {
        // 只需要知道前一个就可以进行描述 - 要得到n项, 只需要知道n-1项
        String str = "1"; // 存储前一项所描述的信息
        StringBuilder stringBuilder = new StringBuilder();
        int i, j = 0;
        for(int k = 1; k < n; k++){
            for(i = j + 1; i < str.length(); i++){
                if (str.charAt(i) != str.charAt(j)){
                    // 进行添加
                    stringBuilder.append(i - j).append(str.charAt(j));
                    j = i;
                }
            }
            // 处理只有一个元素和最后一个元素
            stringBuilder.append(i - j).append(str.charAt(j));
            j = 0;
            str = stringBuilder.toString();
            stringBuilder.delete(0, stringBuilder.length());
        }
        return str;
    }
}
